// express_demo.js 文件
const express = require('express')
const app = express()
const routersInit = require('./router/index')
const path = require('path')
const swagger = require('./config/swagger')

app.use('/', express.static(path.join(__dirname, '../static')))

app.use(express.urlencoded({ extended: false }))
app.use(express.json())

const PORT = 8082
const env = process.env.NODE_ENV
if (env === 'dev') {
  swagger(app, PORT)
}

/* 自定义中间件 */

// 可以用use/all来实现访问页面404处理
// 上面所有的请求如果都没有匹配成功，则*全部匹配成功
// app.all('*', (req, res) => {
// res.send('404')
// })

app.use(function (req, res, next) {
  // console.log(req)
  // req.testing = 'testing'
  // 在这里验证token
  console.log(new Date().toISOString(), ' ', 'Authorization:', req.get('Authorization'))
  console.log('res Content-Type:', req.get('Content-Type'))
  const token = req.get('Authorization')
  if (token === '111') {
    return next()
  } else {
    res.status(403)
    res.end()
  }

  // console.log(res.header('Content-Type'))

  //   if(req.get('content-type').indexOf ('application/json')>=0){
  // console.log(req.path,'==>',res)
  //   }
  // 添加一个自定义函数可用
  // res.ok = res.json
  return next()
})

routersInit(app)
const server = app.listen(PORT, function () {
  console.log('env--------------', process.env.NODE_ENV)
  const host = server.address().address
  const port = server.address().port

  console.log('应用实例，访问地址为 http://%s:%s', host, port)
})
